Skip to main content

Extension Template Catalog

Overview​

The extension template catalog is a remote, versioned list of Candescent-maintained starters for mobile features. Use these vetted project layouts when you want a faster path than a blank offline scaffold. The generator downloads the latest catalog, allows you to pick a feature template, and produces a runnable Nx project wired for @cdx-extensions/di-sdk (PlatformSDK) and the mobile sandbox.

note
  1. Run all commands below from your cdx-extensibility-apps (or FI monorepo) root.
  2. Use pnpm.
  3. Run pnpm run setup (or pnpm add @cdx-extensions/extension-generator-mobile if the generator is not already a workspace dependency).
  4. Run the Nx commands below with pnpm exec nx.
  5. For additional information, see pnpm run vs pnpm exec.
tip

For embedded home-screen widgets, see Widgets — Extension Template Catalog.

Browse the Catalog​

Templates are added to the catalog on an ongoing basis. See the full, up-to-date set at generation time (interactive prompts) or with the list commands below.

Setup​

Generator packages are workspace dependencies after pnpm run setup. To add manually, run pnpm add @cdx-extensions/extension-generator-mobile.

Bash
pnpm exec nx run list-mobile-feature-templates
pnpm exec nx run list-mobile-templates

These commands fetch the same remote catalog the generators use and print entries grouped by type and category.

Example: Agent Chat (Interactive)​

Browse — category and template picker:

$ pnpm exec nx run generate-mobile-feature

? Choose a template category: › Interactive
? Choose a template: › Agent Chat — Bring-your-own-agent full-screen chat feature.
? Enter your FI Id (digits only, e.g. 0123): › 0123
? Choose a name for your feature (kebab-case, e.g. agent-chat): › acme-chat
Interactive CLI prompts for choosing a mobile feature category and template

Outcome — generated feature in the mobile sandbox:

Agent Chat feature with chat UI in the mobile sandbox
note

Template ids, categories, and counts change as Candescent publishes new starters. Use pnpm exec nx run list-mobile-feature-templates or the interactive generator for the current catalog.

Generate Your Feature​

Interactive (feature flow)​

Bash
pnpm exec nx run generate-mobile-feature

Equivalent:

Bash
pnpm exec nx g @cdx-extensions/extension-generator-mobile:feature

You can also start from the type picker and choose feature:

Bash
pnpm exec nx run generate-mobile-extensions

Flow:

  1. Fetches the latest catalog from the remote URL (with cache and local fallbacks).
  2. Lists feature templates grouped by category (or prompts for type first when using generate-mobile-extensions).
  3. Prompts you to pick a category, then a template.
  4. Prompts for your FI Id and feature name.
  5. Optionally prompts for mock API baseUrl and apiPath when the template supports it.
  6. Downloads the selected npm template package and scaffolds the project.
Workspace commandUnderlying generator
pnpm exec nx run generate-mobile-feature@cdx-extensions/extension-generator-mobile:feature
pnpm exec nx run generate-mobile-extensions@cdx-extensions/extension-generator-mobile:generate

Non-Interactive / CI Usage​

Pass generator options after --:

Bash
pnpm exec nx run generate-mobile-feature -- --template=agent-chat --fiId=0123 --name=acme-chat
pnpm exec nx run generate-mobile-feature -- --template=agent-chat --fiId=str:03100 --name=acme-chat
OptionRequiredDescription
fiIdYesNumeric FI id — digits only (0-9); 4 or 5 digits (e.g. 0123, 03100). Values shorter than 4 digits are zero-padded (123 → 0123). Leading zeros on 5-digit IDs are preserved. If Nx/yargs coerce --fiId=03100 to a number, quote it (--fiId="03100") or use --fiId=str:03100.
nameYesFeature slug in kebab-case
templateYesCatalog template id (discover ids with pnpm exec nx run list-mobile-feature-templates) or full npm package name
noCacheNoRe-download catalog and template overlays (skip ~/.cdx/cache)
catalogUrlNoOverride remote catalog URL
directoryNoOutput parent (default features/mobile)
sandboxPathNoSandbox auto-wiring (default playground/mobile-sandbox)
baseUrlNoMock API origin (templates with config.ts.tmpl only)
apiPathNoMock API path (templates with config.ts.tmpl only)
skipApiValidationNoSkip live HTTP validation during generation

What You Get​

In addition to extension source from the selected template package, the generator writes CDX project scaffold files:

  • package.json, project.json, tsconfig.json
  • src/index.ts, component entry file, and branding types

Output path:

  • Features → features/mobile/<name>/

The generator also auto-wires the new project into playground/mobile-sandbox so you can preview immediately.

Only modify files inside src/ for your feature logic and UI. See Getting Started for the full editability guide.

Advanced​

Optional reference for troubleshooting and CI. Most users can skip this section.

Catalog source and cache​

On each run the generator syncs catalog/extension-templates.json in this order: remote URL → ~/.cdx/cache/catalog/ → local workspace catalog/extension-templates.json.

Use --noCache after a platform publish if you need a fresh catalog or template overlay. Override the catalog URL with CDX_EXTENSION_CATALOG_URL or --catalogUrl when directed by support.

Template packages are cached under ~/.cdx/cache/<package>@<version>/dist/.

Mock API URL (config.ts templates)​

Templates that ship config.ts.tmpl with baseUrl and apiPath trigger a mock API flow during generation. Features without config.ts.tmpl skip URL prompts entirely.

Supported mockApiContract values: portfolio-allocation, credit-score.

Next Steps​